1. Field of the Invention
This invention relates to the fields of Multi-Agent Systems, Distributed Computing and Information Systems.
2. Background
Process automation methods presently in use map an external (real) world onto its internal system image (model) in a way that does not preserve any distinction between things and changes, as shown in FIG. 1.
Chris Partridge in his book, “Business Objects: Re-engineering for re-use,” Butterworth-Heinemann, June 1996, proposed a simple test of whether a model is representing a business or an information system. If the model's notation classifies changes in the real world as data, then it is describing an information system and not a business. Therefore, it is not a business model. Unfortunately, many so-called business models fall into this category by mapping both entities and transactions onto a system's data, and by mapping both entities and processes onto a system's programs (FIG. 1).
The problem arises later in a life cycle of the system because its operational semantics deviate farther and farther from its source (shown as a gray cone in FIG. 1) until the two semantics become incompatible. Systems encapsulate data and programs into one system object, which performs transformations of data (that represent entities) necessary in order to allow entities (involved in a process) to cooperate. Such transformations are usually private (invisible) to other entities and cannot be compensated by the system when the process or the entities are modified. Instead, the intervention of a modeler is required in order to perform semantic mapping of modifications to both system transactions and transformations (shown as a gray triangle in FIG. 1), and sometimes called re-factoring. In many cases, further intervention of an engineer is required in the implementation of such re-factoring, which also involves the semantic mapping to program code. This results in disproportional growth of the efforts required to maintain the system, and shortening of its life (known as system brittleness). This problem can also be characterized as “loss of semantic precision.”
Semantics is the single unifying aspect between a large number of different systems. Yet, at the present time, no system implementation (not just modeling) methods exist which rely on a formal semantic specification of external (world) events and processes. Instead, formal semantics is used only to specify the internal system operations. For large and distributed systems, the operational semantics is broken into disparate components corresponding to different scales and locations. On the other hand, maintenance and evolution of such systems requires a single, scale and location-free semantics.
Formal Semantics is a field originated in mathematical logic by Gotlob Frege, 1892 “Uber Sinn and Bedeutung” (On sense and reference), and later developed by Bertrand Russell in the early 20th century and by Alfred Tarski in the 1950's. Tarski developed the theory of models using formal semantics that define equivalence of an agreed conceptualization of the real world to a concrete concept in the model. However, the mechanism for achieving and maintaining such an agreement for distributed systems was never proposed and formally studied. Such a mechanism would perform formal Semantic Mediation of components in a distributed system.
A “tuple” is a data object containing two or more components. Some examples of tuples of information include a record in a database, a list of properties, and a set of attributes. The concept of a “tuple” was first introduced by Gottlob Frege in the late 19th century when he defined the meaning as consisting of two components: the sense and the reference. According to Frege, a reference must be pointing to a physical extension, and sense is a set of strong (i.e., physical) references, which he called “tuple.”
A strong reference as used herein is a pointer (e.g., index, address, link) to an entity that one can interact with (e.g., a buyer, a seller, a banking entity) in a formally defined way. The formal definition must assign a function to the interaction, which would be consistent with all other strong references to the entity. In contrast, a category or a subcategory in an ontology such as a Yahoo web site directory is not a strong reference since one cannot interact with it. That is, one can interact with the taxonomy of semantic terms by navigating through the branches (e.g., banking) but one cannot interact in a formally defined way with what the terms represent (e.g., an actual bank—even a hyperlink to an actual bank which might exist at the end of a branch in a directory has no formally defined function). The arrangement of abstract entities according to functions is known in computer science as type systems, and is based on the definition of type given by Bertrand Russell, the creator of Type Theory: A type is a collection of arguments for which the said function has values. Ideally, the ultimate purpose of information is to do something with the information. By definition, a strong reference must be associated with a type, which provides the necessary input for the interaction to fulfill its formal function and to result in some value. An ontology such as a Yahoo web site directory is thus ultimately limited in usefulness because it does not allow the user who is navigating through the directory to reach a strong reference.
A weak reference, on the other hand, may assign a function to the interaction in an informal way, which does not provide any consistency checking for the references. Web Services is an example of weak references. Web Services perform functions, which can be anything from a simple request to complicated business processes. The assignment of a function to a Web Service is called grounding. Grounding includes association of the service with the context of a task performed by the agent. It is facilitated by a Universal Description, Discovery and Integration (UDDI) framework and Web Service Description Language (WSDL). UDDI's description of a service does not include any capability description, limiting itself to the name, a pointer to the provider of the service and a port where to access the service. In addition, UDDI allows services to refer to so-called “TModels” that are used to link a service to technical specifications or to classification schemes. Therefore, it is possible to ask UDDI for all the services that have a WSDL scheme, but not for all the services that provide a requested functionality. Some semantic extensions are presently proposed, which defines the operations, and several layers on top of WSDL. For example, Business Process Execution Language for Web Services (BPEL4WS) defines how the operations can be sequenced. However, none of the presently existing Web Services technologies allows to specify the goal that a client may have when accessing a Web service. Goal specifications should be kept separate from actual web service descriptions because the same web service can serve different goals, and obviously different (competing) web services can serve the same goal. For example, Amazon.com could be used to buy a book, however, in the same way it can be used as an information broker on bibliographic information about books. Conversely, different bookstores may subscribe to the same goal.
Presently several technologies exist which directly rely on tuples for information processing. These are using computational model developed in the 1980's at Yale University by David Gelernter et al., and are based on “Tuple Space.” A “Tuple Space” is a shared persistent memory in which clients may read, write, and take objects represented by tuples. Clients selectively choose which objects they read and take by tuple template matching. Existing Tuple Space-based technologies such as SUN's JavaSpaces, IBM's TSpaces, however, do not provide sound formal semantics for tuples of Tuple Space. That is, formal semantics are only provided for operations of Tuple Space, but not for individual tuples, even though each tuple can incorporate a strong reference (and usually does). In order to provide sound formal semantics for individual tuples, the types associated with tuples must have consistent sets of strong references from all tuples associated with each type. The consistency criteria must allow for formal proof procedure. According to Frege, a set of strong references comprises the sense of a semantic term. Therefore, the sound formal semantics of tuples must place constraints on semantic terms used to allocate tuples in Tuple Space. This is not the case for any existing Tuple Space-based technology.